package com.zysc.processflow.common.util;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class jt808Util {

   public static String getstate(int state) {
       // int state = 2;
       //state = 7170;
//        StringBuffer ss = new StringBuffer();1026 6146 7170
       List<String> ss = new ArrayList<>();
       // int 转二进制 4字节 32 位  [0000 0000 0000 0000 0000 0000 0000 0010 ]
       // 状态二进制 [0] 0位： ACC状态
       if ((state & 0x01) == 1) {
           ss.add("ACC开");
       }
//       else {
//           ss.add("ACC关");
//       }
       // 状态二进制 [10] 1位： 定位状态
       if ((state >> 1 & 0x01) == 1) {
           ss.add("定位");
       }
//       else {
//           ss.add("未定位");
//       }
       // 状态二进制 [010] 2位： 维度
       if ((state >> 2 & 0x01) == 1) {
           ss.add("南纬");
       }
//       else {
//           ss.add("北纬");
//       }
       // 状态二进制 [0010] 3位： 经度
       if ((state >> 3 & 0x01) == 1) {
           ss.add("西经");
       }
//       else {
//           ss.add("东经");
//       }
       // 状态二进制 [0 0010] 4位： 运营
       if ((state >> 4 & 0x01) == 1) {
           ss.add("停运状态");
       }
//       else {
//           ss.add("运营状态");
//       }
       // 状态二进制 [00 0010] 5位： 经纬度保密插件加密状态。
       if ((state >> 5 & 0x01) == 1) {
           ss.add("经纬度加密");
       }
//       else {
//           ss.add("经纬度未加密");
//       }
       //状态二进制 [000 0010 - 00 0000 0010] 6-9位 保留

       //状态二进制 [000 0000 0010] 10位 车辆油路
       if ((state >> 10 & 0x01) == 1) {
           ss.add("车辆油路断开");
       }
//       else {
//           ss.add("车辆油路正常");
//       }
       //状态二进制 [0000 0000 0010] 11位 车辆电路
       if ((state >> 11 & 0x01) == 1) {
           ss.add("车辆电路断开");
       }
//       else {
//           ss.add("车辆电路正常");
//       }
       //状态二进制 [0 0000 0000 0010] 12位 车门锁
       if ((state >> 12 & 0x01) == 1) {
           ss.add("车门加锁");
       }
//       else {
//           ss.add("车门解锁");
//       }
       // int 转二进制 [00 0000 0000 0010 - 0000 0000 0000 0000 0000 0000 0000 0010] 13-31 位 保留
//       System.out.println(ss.stream().collect(Collectors.joining(",")));
       return ss.stream().collect(Collectors.joining(","));
   }
}
